package com.tiger.project.domain;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tiger.common.annotation.Excel;
import com.tiger.common.core.domain.BaseEntity;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;


/**
 * 【建设项目】对象 construction_apply
 *
 * @author standard
 * @date 2022-09-16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "construction_apply对象", description = "【建设项目】内容")
public class ConstructionApply extends BaseEntity {
private static final long serialVersionUID = 1L;

        @ApiModelProperty(value = "id")
        private Long id;

        /** 建设申请编号 */
        @Excel(name = "建设申请编号")
        @ApiModelProperty(value = "建设申请编号")
        private String constructionApplyNo;

        /** 项目名称 */
        @Excel(name = "项目名称")
        @ApiModelProperty(value = "项目名称")
        private String name;

        /** 上报日期 */
        @JsonFormat(pattern = "yyyy-MM-dd")
        @Excel(name = "上报日期", width = 30, dateFormat = "yyyy-MM-dd")
        @ApiModelProperty(value = "上报日期")
        private Date reportingDate;

        /** 预算金额 */
        @Excel(name = "预算金额")
        @ApiModelProperty(value = "预算金额")
        private BigDecimal budgetAmount;

        /** 项目情况 */
        @Excel(name = "项目情况")
        @ApiModelProperty(value = "项目情况")
        private String description;

        /** 1-未提交，2-审批中，3-审批通过，4-已驳回 */
        @Excel(name = "1-未提交，2-审批中，3-审批通过，4-已驳回")
        @ApiModelProperty(value = "1-未提交，2-审批中，3-审批通过，4-已驳回")
        private Long status;

        /** 删除标志  1-是，0-否 */
        @Excel(name = "删除标志  1-是，0-否")
        @ApiModelProperty(value = "删除标志  1-是，0-否")
        private Long isDeleted;

        /** 创建时间 */
        @JsonFormat(pattern = "yyyy-MM-dd")
        @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
        @ApiModelProperty(value = "创建时间")
        private Date createdAt;

        /** 更新时间 */
        @JsonFormat(pattern = "yyyy-MM-dd")
        @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
        @ApiModelProperty(value = "更新时间")
        private Date updatedAt;

        /** 创建人 */
        @Excel(name = "创建人")
        @ApiModelProperty(value = "创建人")
        private Long createById;

        /** 创建人名称 */
        @Excel(name = "创建人名称")
        @ApiModelProperty(value = "创建人名称")
        private String createByName;

        /** 更新人 */
        @Excel(name = "更新人")
        @ApiModelProperty(value = "更新人")
        private Long updateById;

        /** 更新人名称 */
        @Excel(name = "更新人名称")
        @ApiModelProperty(value = "更新人名称")
        private String updateByName;

        /** 租户id(0--平台用户 非0--正常租户) */
        @Excel(name = "租户id(0--平台用户 非0--正常租户)")
        @ApiModelProperty(value = "租户id(0--平台用户 非0--正常租户)")
        private Long tenantId;

        @ApiModelProperty(value = "公司id")
        private Long companyId;

        @ApiModelProperty(value = "1-升序 2-降序")
        private Long rank;

        @ApiModelProperty(value = "附件集合")
        private List<ConstructionEnclosure> enclosureList = new ArrayList<>();

        /** 发起部门负责人 */
        @Excel(name = "发起部门负责人")
        @ApiModelProperty(value = "发起部门负责人")
        private String sourceDeptName;

        /** 部门负责人 */
        @Excel(name = "部门负责人")
        @ApiModelProperty(value = "部门负责人")
        private String deptName;


        /** 招标文件 */
        @Excel(name = "招标文件")
        @ApiModelProperty(value = "招标文件")
        private String invitationFile;

        /** 开标情况表 */
        @Excel(name = "开标情况表")
        @ApiModelProperty(value = "开标情况表")
        private String openingTenderFile;

        /** 报价单 */
        @Excel(name = "报价单")
        @ApiModelProperty(value = "报价单")
        private String quotation;

        /** 中标供应商 */
        @Excel(name = "中标供应商")
        @ApiModelProperty(value = "中标供应商")
        private String providerName;

        /** 中标价 */
        @Excel(name = "中标价")
        @ApiModelProperty(value = "中标价")
        private String providerMoney;

        /** oa审批链接 */
        @Excel(name = "oa审批链接")
        @ApiModelProperty(value = "oa审批链接")
        private String oaFile;

        @ApiModelProperty(value = "核算金额")
        private String accountingPrice;

        @ApiModelProperty(value = "核算附件")
        private String accountingFile;

        @ApiModelProperty(value = "OA的token")
        private String token;

        @ApiModelProperty(value = "OA的登录名")
        private String loginName;

}
